草庐IT

c++ - std::iterator、指针和 VC++ 警告 C4996

全部标签

c++ - 如何快速上手使用VC++、C++、DirectX进行游戏编程?

你好,我在VC++工作,我对游戏编程很感兴趣,我很少有疑问。1).开始游戏编程之前必须了解什么?2).任何人都可以给我信息@资源,如教程、链接等。这将帮助我尽快开始?3).也给我一些关于游戏编程的好书的信息?如有任何帮助,我们将不胜感激。 最佳答案 在开始编程之前,您必须对语言、如何编程以及如何构建和测试代码有很好的理解。哦,还有大量的耐心或空闲时间。在数学方面,vector、矩阵和四元数是我发现我需要的主要东西。当我的程序员开始编写游戏时,另一件经常被忽视的事情是创建Assets的人。最好是专门从事这方面工作的人。您提到了Dire

c++ - 在 ATL 项目中将 NULL 指针传递给进程外 COM 方法的正确方法

在ATL项目中将NULL指针传递给进程外COM方法的正确方法是什么?我创建了一个通过COM代理托管的COM服务器如果这很重要,我使用的是在Win7上运行的VS2012。服务器项目编译为64位,客户端项目编译为32位IDL看起来类似于下面import"oaidl.idl";import"ocidl.idl";[object,uuid(37EFA952-7036-4398-93A6-6CDAD9DFC005),dual,nonextensible,pointer_default(unique)]interfaceIGame:IDispatch{[id(1)]HRESULTpassNull(

windows - mingw std::thread 与 Windows API

我开始使用C++11std::thread(mingw4.8)到目前为止一切顺利。我遇到了重叠I/O的情况,其中sleepEx用于将线程置于可警告的等待状态。这工作得很好,直到必须使用QueueUserAPC,它返回一个“无效句柄错误”。经过一番查找,发现std::thread使用的是Windows下的pthread库。有没有什么方法可以使用WindowsAPI调用,它需要一个带有std::thread的线程句柄?或者我是否需要坚持使用Windows线程来处理重叠I/O? 最佳答案 为了解决您的问题,MinGW-w64winpthr

windows - 非托管 VC++ 应用程序在 Windows 服务器上的内存消耗

好的,所以我有一个运行在Windows2003服务器上的非常大的多线程非托管C++应用程序(服务器)。它为20-50个执行各种业务逻辑的并发用户托管session...有时由于用户在客户端打开大量窗口而导致对象/session缓存等问题,它可能会使用大量内存(每个窗口都有一个单独的服务器“session”。我们通常会看到超过5-600MB的物理内存和5-600MB的虚拟内存的消耗。一旦达到这一点,我们似乎开始出现“内存不足”错误。现在我知道Windows会在感觉需要释放物理内存时开始页面错误,而且win32应用程序通常只能分配最多4GB的内存,实际上只有2GB可供应用程序实际使用的“用

c++ - 指向动态分配数组的静态指针

所以这个问题比较直截了当,我有几个半大型查找表~500kb一张。现在,这些完全相同的表被几个类实例化(可能很多)使用,考虑到这一点,我不想在每个类中存储相同的表。所以我可以将整个表作为“静态”成员转储到堆栈中,或者我可以有指向这些表的“静态”指针。在任何一种情况下,该类的构造函数都会检查它们是否已初始化,如果没有则进行初始化。但是,我的问题是,如果我选择指向表的静态指针(以免滥用堆栈空间),什么是适当清理这些表的好方法。另请注意,我考虑过使用boost::share_ptr,但选择不使用,这是一个非常小的项目,我不打算添加任何依赖项。谢谢 最佳答案

c# - 如何摆脱我的 PC 应用程序中的 UAC 警告

我的问题:我制作了一个PC游戏(不是使用VisualStudio创建)并通过安装程序创建器将其转换为setup.exe。运行此安装文件时,用户会收到来自Windows的警告:“是否允许来自未知发布者的此应用程序对您的PC进行更改?”我的猜测是我的文件需要在Microsoft以某种方式进行签名或认证。我的问题:任何人都可以告诉我必须遵循的正确步骤,以便用户不会收到此警告吗? 最佳答案 根据@HarryJonhston的一些建议,我将更新答案。并在下面发布原始答案。这是更新:您实际上还没有发现真正的问题。如果您的应用程序未使用EV证书进

windows - mftraining 给出警告 : no protos/configs for F in CreateIntTemplates()

编辑:mftraining在标题中为unicharset中的所有字符发出警告(因此不仅是F,还有a、b、c、d等)我如何创建这些原型(prototype)/配置?我正在关注this教程现在解决的上一个问题:-Error:AssertfailedWarning:infile....\classify\trainingsampleset.cpp,line622noprotos/SegmentationFault这是整个命令+输出:-C:\training>mftraining-Ffont_properties-Uunicharset-Oeng.unicharseteng.impact.bo

c++ - 是否可以从 stdin 输入指向指针的地址?

不久前,我有了一些简单的进程间通信的想法:一个进程将地址输出到一个指针,我将其复制到另一个进程的输入,然后更改原始变量。我是这样实现的:#include#includeusingnamespacestd;intmain(){boolp;cin>>p;if(p){intn;n=0;cout>n;*point+=n;}return0;}我使用scanf是因为cin提示并且无法编译。我尝试用两个进程运行它,但在我启动第二个实例并输入指针的地址(如第一个实例输出的那样)后,它卡住了。因为我只能访问Windows,所以我不知道它是否有SIGSEGV,或者它是否做了一些完全不同的事情。是我试图更改

c++ - Windows:指针唯一性

我需要在我的一个类(class)中使用一个快速的唯一ID来区分一个过程与另一个过程。我决定使用实例的地址来这样做。我最终得到了这样的结果(quintptr是Qt定义的整数类型,用于根据平台存储具有正确大小的地址):Foo::Foo():_id(reinterpret_cast(this)){...}想法是比较同一个exe的两个不同进程的输出。在Vista(我的开发机器)上没有问题。但是在XP上,_id的值在两个进程中是相同的(!)。谁能解释一下这是为什么?如果使用这样的指针是个好主意(我认为是,我不再那么确定)?谢谢。 最佳答案 每

c++ - 在 AllocConsole 之前执行 std::endl 会导致不显示 std::cout

我正在尝试使用经典的RedirectIOToConsole函数在WindowsVisual2012、Linker/Subsystem=Windows(/SUBSYSTEM:WINDOWS)的输出控制台上重定向跟踪。在AllocConsole之前执行std::endl似乎会导致显示痕迹出现问题。下面是我的测试:#include#include#includevoidRedirectIOToConsole(){FILE*conin,*conout;AllocConsole();freopen_s(&conin,"conin$","r",stdin);freopen_s(&conout,"c